Power management of a data processing system often involves techniques for reducing the consumption of power by components in the data processing system. A data processing system may be a laptop or otherwise portable computer, such as a handheld general purpose computer or a cellular telephone. The management of power consumption in a portable device which is powered by one or more batteries is particularly important because better power management usually results in the ability to use the portable device for a longer period of time when it is using only battery power.
As devices become more complicated and their capabilities more varied, it becomes increasingly difficult to make the best power management decisions from deep within the system. While designers have been successful in making decisions about the hardware state within a central power management driver, they are not able to account for blocks outside the hardware.
Users of battery powered devices generally prefer that the battery does not run out while they are using the device. User level power management may try to extend the life of the battery by reducing power consumption at the cost of reduced performance as the battery approaches depletion. Most of the conventional systems perform such power management actions only when the battery is already very low. Sometimes this may amount to too little too late.